The present disclosure relates to storage systems, and more specifically, to the accelerated rebuilding of storage arrays.
With the increasing need for large-capacity and reliable data storage in recent years, more and more data storage systems are adopting architectures involving multiple storage devices arranged in an array, such as Redundant Array of Independent Disks (RAID). In a RAID, data and parities are stored across multiple independent physical disk drive components to provide data redundancy, performance improvement, or a mix of those two objectives. There are several types of RAID schemes that are commonly used, including RAID-0, RAID-1, RAID-10, RAID-3, RAID-4, RAID-5, RAID-6, etc.
Data redundancy of a RAID provides integrity of data stored on the RAID, to a certain extent. If one or more member disks in a RAID fail, a user can recover the RAID by using a spare disk and starting a “rebuilding” process. The rebuilding first kicks the failed disk out of the RAID and replaces it with a spare disk. Then it uses the data and parities on other member disks to calculate the contents on the failed disk. Finally, it writes the calculated contents onto the spare disk, so that the spare disk serves as a member of the RAID in place of the failed disk. The rebuilding finishes when all the data and parities are synchronized.